package com.pactera.jep.service.sys.service;

import com.pactera.jep.core.service.BaseService;
import com.pactera.jep.service.sys.model.UserProfile;
import com.pactera.jep.sys.dto.StaffDto;
import com.pactera.jep.sys.model.Staff;
import com.pactera.jep.sys.model.Tenant;
import com.pactera.jep.sys.model.User;

public interface UserProfileService extends BaseService {

	/**
	 * 根据用户信息，查询用户详细信息，包括角色等信息。
	 * @param user 登录用户
	 * @return
	 */
	UserProfile getUserProfileByUser(User user, String proxyStaff) ;

	/**
	 * 修改用户密码
	 * @param userProfile
	 * @param newPassword
	 * @return
	 */
	boolean changePWD(UserProfile userProfile, String newPassword) ;

	/**
	 * 根据新建用户创建一个登录用户
	 * @param staff
	 * @return
	 */
	int saveUser(Staff staff);

	/**
	 * 保存用户，及一个事物中多个操作
	 * @param staff
	 * @return
	 */
	int saveStaff(StaffDto staff);

	/**
	 * 保存租户管理员
	 * @param tenant
	 */
	void insertStaffAdm(Tenant tenant);

	/**
	 * 核对原密码
	 * @param user
	 */
	Boolean checkOldPass(User user);
}
